﻿// --------------------------------------------------------------------------------------------------------------------
// <copyright file="ICopySource.cs" company="">
//   
// </copyright>
// <summary>
//   The CopySource interface.
// </summary>
// --------------------------------------------------------------------------------------------------------------------

namespace Libium.Core
{
    /// <summary>
    ///   The CopySource interface.
    /// </summary>
    public interface ICopySource
    {
        #region Public Methods and Operators

        /// <summary>
        /// The finish copy.
        /// </summary>
        /// <param name="action">
        /// The action. 
        /// </param>
        void FinishCopy(CopyAction action);

        /// <summary>
        ///   The get copy options.
        /// </summary>
        /// <returns> The <see cref="CopyOptions" /> . </returns>
        CopyOptions GetCopyOptions();

        /// <summary>
        ///   The start copy.
        /// </summary>
        /// <returns> The <see cref="ICopyData" /> . </returns>
        ICopyData StartCopy();

        #endregion
    }
}